package com.ce.sys.role.logic;

import java.util.HashMap;

import com.ce.framework.datamaintain.logic.IBaseLogic;
import com.ce.framework.exception.AppException;
import com.ce.sys.role.dao.po.SysRole;

/**
 * 嫦娥软件有限公司 版权所有 2013
 * 创建人： andy
 * 创建时间： 2013-10-27 下午03:34:25
 * 功能描述：角色管理的逻辑类接口
 * ==================================
 * 修改历史
 * 修改人        修改时间      修改位置（函数名）
 *
 * ==================================
 */
public interface IRoleLogic extends IBaseLogic{

	/**
	 * 开发人： andy
	 * 开发时间： 2013-11-3 上午08:22:35
	 * 功能描述：添加一个角色
	 * 方法的参数和返回值
	 * @param role 角色对象
	 * @param menuids  角色对应菜单ids
	 * @param opts     菜单对应的操作项目
	 * @throws AppException
	 * void 
	 * ==================================
	 * 修改历史
	 * 修改人        修改时间      修改原因及内容
	 *
	 * ==================================
	 */
	public void addRole(SysRole role,String[] menuids,HashMap<?, ?> opts)throws AppException;
	
	/**
	 * 开发人： andy
	 * 开发时间： 2013-11-3 上午08:22:37
	 * 功能描述：修改一个角色
	 * 方法的参数和返回值
	 * @param role  角色对象
	 * @param menuids  角色对应的菜单ids
	 * @param opts   菜单对应的操作项目
	 * @throws AppException
	 * void 
	 * ==================================
	 * 修改历史
	 * 修改人        修改时间      修改原因及内容
	 *
	 * ==================================
	 */
	public void updateRole(SysRole role,String[] menuids,HashMap<?, ?> opts)throws AppException;
	
	/**
	 * 开发人： andy
	 * 开发时间： 2013-11-3 上午08:22:39
	 * 功能描述：删除角色
	 * 方法的参数和返回值
	 * @param delIds  删除的角色主键
	 * @throws AppException
	 * void 
	 * ==================================
	 * 修改历史
	 * 修改人        修改时间      修改原因及内容
	 *
	 * ==================================
	 */
	public void deleteRole(String[] delIds)throws AppException;
	
	/**
	 * 开发人： andy
	 * 开发时间： 2013-11-3 上午08:22:43
	 * 功能描述：增加角色和账号关联关系
	 * 方法的参数和返回值
	 * @param roleId  角色id
	 * @param userIds  用户的ids
	 * @throws AppException
	 * void 
	 * ==================================
	 * 修改历史
	 * 修改人        修改时间      修改原因及内容
	 *
	 * ==================================
	 */
	public void addRelation(String roleId,String userIds)throws AppException;
	
	/**
	 * 开发人： andy
	 * 开发时间： 2013-11-3 上午08:22:45
	 * 功能描述：改变用户的角色
	 * 方法的参数和返回值
	 * @param roleIds  角色ids
	 * @param userId   分配的用户id
	 * @throws AppException
	 * void 
	 * ==================================
	 * 修改历史
	 * 修改人        修改时间      修改原因及内容
	 *
	 * ==================================
	 */
	public void updateUserRole(String[] roleIds ,String userId)throws AppException;
}
